package com.security.hikapp.network;


import java.util.HashMap;
import java.util.List;
import java.util.Map;

import io.reactivex.rxjava3.core.Observable;
import okhttp3.MultipartBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;

public interface ApiService {
    //上传文件
//    @Multipart
//    @POST("")
//    Call<ResponseData<FileInfo>> uploadFile(@Part MultipartBody.Part part);
//
//    @GET("judgeApkUpdate")
//    Observable<ResponseData<AppVersionInfo>>updateApk();
//
//
//    //APP登录
//    @POST("login/authLogin")
//    @FormUrlEncoded
//    Observable<ResponseData<AuthLoginBean>> authLogin(@FieldMap Map<String, String> map);
//
//    //新生儿随访
//    @POST("tblChildBaseInfoCon/uploadNeonatalVisit")
//    Observable<ResponseData<ResultBean>> newBorn(@Body ChildNewBornBean bean);
//
//    //儿童1～8月随访
//    @POST("tblChildBaseInfoCon/uploadChildHealthOne")
//    Observable<ResponseData<ResultBean>> childrenOne(@Body ChildOneBean bean);
//
//    //儿童12～30月随访
//    @POST("tblChildBaseInfoCon/uploadChildHealthTwo")
//    Observable<ResponseData<ResultBean>> childrenTwo(@Body ChildTwoBean bean);
//
//    //儿童3～6岁随访
//    @POST("tblChildBaseInfoCon/uploadChildHealthThree")
//    Observable<ResponseData<ResultBean>> childrenThree(@Body ChildThreeBean bean);
//
//    //肺结核日常
//    @POST("tblPulmonarylTuberculosisInfoCon/uploadPulmonarylVisit")
//    Observable<ResponseData<ResultBean>> dayTB(@Body TBDailyBean bean);
//
//    //肺结核首次
//    @POST("tblPulmonarylTuberculosisInfoCon/uploadPulmonarylFirstVisit")
//    Observable<ResponseData<ResultBean>> firstTB(@Body TBFirstBean bean);
//
//    @POST("tblPulmonarylTuberculosisInfoCon/closePulmonarylInfo")
//    Observable<ResponseData<ResultBean>> stopTB(@Body TBStopBean bean);
//
//    //孕产妇产前第一次
//    @POST("tblMaternalBaseInfoCon/uploadMaternalFirstVisit")
//    Observable<ResponseData<ResultBean>> MaternalAntenatalExamin(@Body MaternalAntenatalExaminBean bean);
//
//    //孕产妇产前访视表
//    @POST("tblMaternalBaseInfoCon/uploadSecVisit")
//    Observable<ResponseData<ResultBean>> MaternalAntenatalExamin(@Body MaternalAntenatalVisitBean bean);
//
//    //孕产妇产后42天访视
//    @POST("tblMaternalBaseInfoCon/uploadAftFTVisit")
//    Observable<ResponseData<ResultBean>> MaternalAntenatalExaminTB(@Body MaternalPostpartumVisit42Bean bean);
//
//    //孕产妇产后日常访视
//    @POST("tblMaternalBaseInfoCon/uploadAfterVisit")
//    Observable<ResponseData<ResultBean>> MaternalAntenatalExamin(@Body MaternalPostpartumVisitBean bean);
//
//    //高血压
//    @POST("tblHypertensionInfoCon/uploadHtnVisist")
//    Observable<ResponseData<ResultBean>> HypertensionVisitTB(@Body HypertensionVisitBean bean);
//
//    //糖尿病
//    @POST("tblDiabetesInfoCon/uploadDiabetesVisist")
//    Observable<ResponseData<ResultBean>> DiabetesInfoVisitBean(@Body DiabetesInfoVisitBean bean);
//
//    //精神病个人信息补充
//    @POST("tblSmiInfoCon/uploadAddSmiInfo")
//    Observable<ResponseData<ResultBean>> SmiSupply(@Body SmiSupplyBean bean);
//
//    //精神随访
//    @POST("tblSmiInfoCon/uploadSmiVisist")
//    Observable<ResponseData<ResultBean>> SmiVisitFollow(@Body SmiVisitFollowBean bean);
//
//    // 老年人中医药健康管理表
//    @POST("tblOldmanInfoCon/uploadOldmanMedicine")
//    Observable<ResponseData<ResultBean>> OldMedicineManagement(@Body OldMedicineManagementBean bean);
//
//    //儿童中医药
//    @POST("tblChildBaseInfoCon/uploadChildMedInfo")
//    Observable<ResponseData<ResultBean>> ChildMedicineManagement(@Body ChildMedicineManagementBean bean);
//
//    //居民自理能力评估表 目前应该只针对老年人
//    @POST("tblOldmanInfoCon/uploadOldmanSelfcare")
//    Observable<ResponseData<ResultBean>> CareAbilityAssessment(@Body CareAbilityAssessmentBean bean);
//
//    //个人档案
//    @POST("tblPersonBasicInfoCon/uploadPersonbasicinfo")
//    Observable<ResponseData<ResultBean>> personFile(@Body PersonBean bean);
//
//    //健康体检
//    @POST("tblHealthexaminCon/uploadHealth")
//    Observable<ResponseData<ResultBean>> healthCheck(@Body HealthCheckBean bean);
//
//    //查询机构下级区划列表
//    @GET("login/getOrgList")
//    Observable<ResponseData<List<VillageInfo>>> getVillageList(@Query("orgid") int orgid);
//
//    //随访医生列表
//    @GET("login/getUserList")
//    Observable<ResponseData<List<FollowDoctor>>> followDoctor(@Query("orgid") String orgid);
//
//    //签约医生列表
//    @GET("tblContractThrongCon/getContractDocotorList")
//    Observable<ResponseData<List<FamilyDoctor>>> familyDoctor();
//
//    //孕产妇建档
//    @POST("tblMaternalBaseInfoCon/addMaternalBasicInfo")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> followPregnant(@FieldMap HashMap<String, String> map);
//
//    //档案下载
//    @GET("tblPersonBasicInfoCon/getPageInfo")
//    Observable<ResponseData<DownLoadPersonFIle>> downFile(@Query("createdorgid") String createdorgid,
//                                                          @Query("page") int page,
//                                                          @Query("limit") int limit,
//                                                          @Query("certificatenumber") String certificatenumber,
//                                                          @Query("name") String name,
//                                                          @Query("telephone") String telephone,
//                                                          @Query("contactstelephone") String contactstelephone,
//                                                          @Query("archivesnumber") String archivesnumber,
//                                                          @Query("createduserid") String createuserid,
//                                                          @Query("adminstatus") int status);//1--正常、迁入，7--正常、迁入、失访，不包含死亡、注销
//
//    //查询统计数
//    @GET("tblPersonBasicInfoCon/getPersonCount")
//    Observable<ResponseData<PersonCountBean>> getPersonCount(@Query("createdorgid") String createdorgid,
//                                                             @Query("year") String year,
//                                                             @Query("month") String month,
//                                                             @Query("day") String day,
//                                                             @Query("quarter") String quarter);
//
//    @POST("tblPersonBasicInfoCon/updatePersonPhone")
//    Observable<ResponseData<String>> filePhoto(@Body FilePhoto bean);
//
//
//    //修改个人档案
//    @POST("tblPersonBasicInfoCon/updatePersonBasicInfo")
//    Observable<ResponseData<ResultBean>> updatePersonFile(@Body PersonBean bean);
//
//    //修改修改体检
//    @POST("tblHealthexaminCon/updateUploadHealth")
//    Observable<ResponseData<ResultBean>> updateHealthCheck(@Body HealthCheckBean bean);
//
//    //修改高血压
//    @POST("tblHypertensionInfoCon/updateUpHtnVisit")
//    Observable<ResponseData<ResultBean>> updateHypertensionVisitTB(@Body HypertensionVisitBean bean);
//
//    //修改糖尿病
//    @POST("tblDiabetesInfoCon/updateUpDiaetesVisit")
//    Observable<ResponseData<ResultBean>> updateDiabetesInfoVisitBean(@Body DiabetesInfoVisitBean bean);
//
//    //精神病个人信息补充
//    @POST("tblSmiInfoCon/uploadAddSmiInfo")
//    Observable<ResponseData<ResultBean>> updateSmiSupply(@Body SmiSupplyBean bean);
//
//    //精神随访
//    @POST("tblSmiInfoCon/uploadUpdateSmiVisist")
//    Observable<ResponseData<ResultBean>> updateSmiVisitFollow(@Body SmiVisitFollowBean bean);
//
//    //修改肺结核首次
//    @POST("tblPulmonarylTuberculosisInfoCon/updateUploadPulmonarylFirstVisit")
//    Observable<ResponseData<ResultBean>> updateFirstTB(@Body TBFirstBean bean);
//
//    //修改肺结核日常
//    @POST("tblPulmonarylTuberculosisInfoCon/updateUploadPulmonarylVisit")
//    Observable<ResponseData<ResultBean>> updateDayTB(@Body TBDailyBean bean);
//
//    //修改肺结核结案
//    @POST("tblPulmonarylTuberculosisInfoCon/updateClosePulmonarylInfo")
//    Observable<ResponseData<ResultBean>> updateStopTB(@Body TBStopBean bean);
//
//    //修改新生儿随访
//    @POST("tblChildBaseInfoCon/updateUploadNeonatalVisit")
//    Observable<ResponseData<ResultBean>> updateNewBorn(@Body ChildNewBornBean bean);
//
//    //修改儿童1～8月随访
//    @POST("tblChildBaseInfoCon/updateUploadChildHealthOne")
//    Observable<ResponseData<ResultBean>> updateChildrenOne(@Body ChildOneBean bean);
//
//    //修改儿童12～30月随访
//    @POST("tblChildBaseInfoCon/updateUploadChildHealthTwo")
//    Observable<ResponseData<ResultBean>> updateChildrenTwo(@Body ChildTwoBean bean);
//
//    //修改儿童3～6岁随访
//    @POST("tblChildBaseInfoCon/updateUploadChildHealthThree")
//    Observable<ResponseData<ResultBean>> updateChildrenThree(@Body ChildThreeBean bean);
//
//    //修改孕产妇产前第一次
//    @POST("tblMaternalBaseInfoCon/updateUploadMaternalFirstVisit")
//    Observable<ResponseData<ResultBean>> updateMaternalAntenatalExamin(@Body MaternalAntenatalExaminBean bean);
//
//    //修改孕产妇产前访视表
//    @POST("tblMaternalBaseInfoCon/updateUploadSecVisit")
//    Observable<ResponseData<ResultBean>> updateMaternalAntenatalExamin(@Body MaternalAntenatalVisitBean bean);
//
//    //修改孕产妇产后42天访视
//    @POST("tblMaternalBaseInfoCon/updateUploadAftFTVisit")
//    Observable<ResponseData<ResultBean>> updateMaternalAntenatalExaminTB(@Body MaternalPostpartumVisit42Bean bean);
//
//    //修改孕产妇产后日常访视
//    @POST("tblMaternalBaseInfoCon/updateUploadAfterVisit")
//    Observable<ResponseData<ResultBean>> updateMaternalAntenatalExamin(@Body MaternalPostpartumVisitBean bean);
//
//    //居民自理能力评估表 目前应该只针对老年人
//    @POST("tblOldmanInfoCon/updateUploadOldmanSelfcare")
//    Observable<ResponseData<ResultBean>> updateCareAbilityAssessment(@Body CareAbilityAssessmentBean bean);
//
//    // 修改老年人中医药健康管理表
//    @POST("tblOldmanInfoCon/updateUploadOldmanMedicine")
//    Observable<ResponseData<ResultBean>> updateOldMedicineManagement(@Body OldMedicineManagementBean bean);
//
//    //修改儿童中医药
//    @POST("tblChildBaseInfoCon/updateUploadChildMedInfo")
//    Observable<ResponseData<ResultBean>> updateChildMedicineManagement(@Body ChildMedicineManagementBean bean);
//
//    //查询头像
//    @GET("login/getUserImg")
//    Observable<ResponseData<UserImageBean>> queryUserImage(@Query("tblid") String tblid);
//
//    //修改头像
//    @POST("login/updateUserPhoto")
//    Observable<ResponseData<String>> updateUserImage(@Body UpdateUserImageBean bean);
//
//
//
//    //糖尿病删除
//    @POST("tblDiabetesInfoCon/delete")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteSugar(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //高血压删除
//    @POST("tblHypertensionInfoCon/deleteHtnVisit")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteHighBlood(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //精神病随访
//    @POST("tblSmiInfoCon/delete")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteSpirit(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //肺结核
//    @POST("tblPulmonarylTuberculosisInfoCon/delete")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteTB(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber,@Field("pnum") int pnum);
//
//    //儿童
//    @POST("tblChildBaseInfoCon/deleteVisit")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteChildren(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber,@Field("cnum") int cnum);
//
//    //老年人
//    @POST("tblOldmanInfoCon/deleteSelfcare")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteOlder(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //孕产妇
//    //mnum
//    //1:产前一次
//    //2:产前2-5次
//    //3：产后
//    //4：产后42天
//    @POST("tblMaternalBaseInfoCon/deletevisit")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeletePregnant(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber,@Field("mnum") int mnum);
//
//    //中医药
//
//    //老年人
//    @POST("tblOldmanInfoCon/deleteMed")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteOldMedicine(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //儿童
//    @POST("tblChildBaseInfoCon/deleteMed")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteChildMedicine(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //体检
//    @POST("tblHealthexaminCon/delete")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteCheck(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber,@Field("orgid") String orgid);
//
//    //新增家庭签约
//    @POST("tblContractThrongCon/uploadContractThrong")
//    Observable<ResponseData<ResultBean>> uploadFamilySign(@Body FamilySignBean bean);
//
//    //修改家庭签约
//    @POST("tblContractThrongCon/updateUploadContract")
//    Observable<ResponseData<ResultBean>> updateFamilySign(@Body FamilySignBean bean);
//
//    //新增履约
//    @POST("tblContractThrongCon/uploadContractPerform")
//    Observable<ResponseData<ResultBean>> uploadFamilyPromise(@Body FamilyPromiseBean bean);
//
//    //删除签约
//    @POST("tblContractThrongCon/deleteContractThrong")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeleteSign(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //更新履约
//    @POST("tblContractThrongCon/updateUploadContractPerform")
//    Observable<ResponseData<ResultBean>> updateFamilyPromise(@Body FamilyPromiseBean bean);
//
//    //删除履约
//    @POST("tblContractThrongCon/deleteContractPerform")
//    @FormUrlEncoded
//    Observable<ResponseData<String>> remoteDeletePromise(@Field("healthvisitid") String healthvisitid,@Field("certificatenumber") String certificatenumber);
//
//    //解约
//    @POST("tblContractThrongCon/cancelContract")
//    Observable<ResponseData<ResultBean>> breakSign(@Body BreakBean bean);
}
